/**
 *	购物车和商品的通用方法
 **/
$().ready( function() {

	// 添加商品至购物车
	$(".addCartItem").click( function() {

      var $this = $(this);

      // 商品id
	  var productId = $this.attr('pid');
	  // 数量
	  var quantity = Number($("#stock").val());
	  // 剩余库存
	  var lastStock = Number($("#stock").attr('max'));

	  if (quantity == null) {
          quantity = 1;
	  }

	  if( quantity > lastStock ) {
          Modal.alert("添加购物车失败:库存不足");
          return false;
	  }

	  var reg = /^[0-9]*[1-9][0-9]*$/;
	  if (!reg.test(quantity)) {
	    Modal.alert("添加购物车失败:商品数量不对");
	    return false;
	  }

        // 当前用户token
        let token = sessionStorage.getItem("token");

	    // 判断当前用户是否登录(token是否存在)
	    if( !token ) {
	    	// token不存在的话，就提示登录
            $("#member-login-modal").modal();
            return;

	    }// if( !token );

	  // 调用添加购物车方法
      $.ajax({
    	type: "POST",
		url: PetMall.base + "/cart/add",
		data: {
    		token: token,
            productId: productId,
            quantity: quantity
		},
		dataType: "json",
		beforeSend: function() {
		  $this.attr("disabled", true);
		},
		success: function(result) {

    		// 重置'加入购物车'按钮
            $this.attr("disabled", false);

            // 如果返回的是token失效，就重新登录
            if (result.code == 419) {

                Modal.alert('当前会话token失效，请重新登录页面！');
                // 清空session数据
                sessionStorage.clear();
                return;
            }

            // 如果返回的数据的响应码不是'成功(200)'
            if (result.code != 200) {
                Modal.alert(result.msg);
                return;
            }

            // 如果返回的数据响应码为200
            Modal.alert('添加购物车成功！');

		}// success();
	  });// $.ajax();
	});// $(".addCartItem").click();
	
	// 产品收藏
	$(".addFavorite").click( function() {

      	var $this = $(this);

      	// 商品id
		var productId = $this.attr('pid');

        // 当前用户token
        let token = sessionStorage.getItem("token");

        // 判断当前用户是否登录(token是否存在)
        if( !token ) {
            // token不存在的话，就提示登录
            $("#member-login-modal").modal();
            return;

        }// if( !token );

		// 调用'加入收藏'接口
		$.ajax({
			  type: 'POST',
			  url: PetMall.base + "/follow/add",
			  data: {
				token: token,
				productId: productId
			  },
			  dataType: "json",
			  beforeSend: function() {
				$this.attr("disabled", true);
			  },
			  success: function(result) {

				  // 重置'收藏'按钮
				  $this.attr("disabled", false);

				  // 如果返回的是token失效，就重新登录
				  if (result.code == 419) {

					  Modal.alert('当前会话token失效，请重新登录页面！');
                      // 清空session数据
                      sessionStorage.clear();
					  return;
				  }

				  // 如果返回的数据的响应码不是'成功(200)'
				  if (result.code != 200) {
					  Modal.alert(result.msg);
					  return;
				  }

				  // 如果返回的数据响应码为200
				  Modal.alert('收藏成功！');
				  // 修改为'已收藏'按钮
				  $this.html("已收藏");
				  $this.attr("disabled", true);

				}// success: function(data);
		});// $.ajax();

	});// $(".addFavorite").click();
	
	// 添加商品浏览记录
	$.addProductViewNum = function( productId, categoryId ) {

        // 加载'商品信息'数据
        $.ajax({
            type: 'POST',
            url: 'http://localhost:8080/product/addViewNum',
            async: false,
            data: {
            	productId: productId,
				categoryId: categoryId
			},
            success: function () {}

        });// $.ajax();

    };// addProductViewNum();
});